# LuckPay Web Manage System
#
# Copyright (c) 2016 Lucky Byte, Inc.
#
$ ->
    form = $('form.main')

    form.form
        inline: true,
        fields:
            mpos_skey1:
                optional: false, rules: [
                    { type: 'minLength[32]' }, { type: 'maxLength[32]' }
                ]
            mpos_skey2:
                optional: false, rules: [
                    { type: 'minLength[32]' }, { type: 'maxLength[32]' }
                ]

    # 显示/隐藏敏感信息
    form.find('.icon.eyes').click ->
        $input_real = $(this).siblings('input.real')
        $input_show = $(this).siblings('input.show')
        if $(this).data('hide')
            $input_show.val $input_real.val()
            $input_show.removeAttr 'readonly'
            $(this).removeClass('unhide').addClass('hide red')
            $(this).data('hide', false)
        else
            $input_real.val $input_show.val()
            $input_show.val if $input_real.val() then '••••••••' else ''
            $input_show.attr 'readonly', 'readonly'
            $(this).removeClass('hide red').addClass('unhide')
            $(this).data('hide', true)

    form.find('.label.decrypt').click (evt) ->
        $label = $(this)
        $input_real = $(this).siblings('input.real')
        $input_show = $(this).siblings('input.show')
        if $label.data('decrypted')
            $.post '/secure/encrypt_ede', {
                key: $input_real.val()
            }, (resp) ->
                return if not resp.succ
                if $input_real.val() == $input_show.val()
                    $input_show.val resp.key
                $input_real.val resp.key
                $label.data('decrypted', false)
                $label.removeClass('green').addClass('red').text '解 密'
        else
            $.post '/secure/decrypt_ede', {
                key: $input_real.val()
            }, (resp) ->
                return if not resp.succ
                if $input_real.val() == $input_show.val()
                    $input_show.val resp.key
                $input_real.val resp.key
                $label.data('decrypted', true)
                $label.removeClass('red').addClass('green').text '加 密'

    form.submit (evt) ->
        # 如果修改了可隐藏域，需要使用修改后的值上传
        form.find('.icon.eyes').each ->
            if not $(this).data('hide')
                $input_real = $(this).siblings('input.real')
                $input_show = $(this).siblings('input.show')
                $input_real.val $input_show.val()

        if not form.form 'is valid'
            evt.preventDefault()
            form.find('button#ok').removeClass 'loading'
            return false
